#include "StdAfx.h"
#include "Client.h"


CClient::CClient(void)
{
}


CClient::~CClient(void)
{
}

void CClient::on_close()
{
	cout<<__FUNCTION__<<m_nId<<endl;
	CClient *pClient = dynamic_cast<CClient *>(jeflib::iocp::tcp::create(m_nId));
	while(!pClient)
	{
		pClient = dynamic_cast<CClient *>(jeflib::iocp::tcp::create(m_nId));
		Sleep(1000);
	}
	jeflib::iocp::tcp::connect(*pClient,m_sport,m_szip,NULL,0);
}
void CClient::on_accepted(jeflib::iocp::NETHANDLE nethandle,const char *szip,const unsigned short sport)
{
	cout<<__FUNCTION__<<endl;
};
void CClient::on_recv(const char *pdata,int ndatasize)
{
	cout<<__FUNCTION__<<m_nId<<endl;
}
void CClient::on_connect_ok(jeflib::iocp::NETHANDLE nethandle)
{
	cout<<__FUNCTION__<<m_nId<<endl;
	jeflib::iocp::tcp::send(*this,"test",5);
}
void CClient::on_connect_err(jeflib::iocp::NETHANDLE nethandle,bool bactive)
{
	cout<<__FUNCTION__<<m_nId<<endl;
	if(!bactive)
		jeflib::iocp::tcp::connect(*this,m_sport,m_szip,NULL,0);
}
void CClient::on_send_ok(const char *pdata,int ndatasize)
{
	cout<<__FUNCTION__<<m_nId<<endl;
}
void CClient::on_send_err(const char *pdata,int ndatasize)
{
	cout<<__FUNCTION__<<m_nId<<endl;
}

jeflib::iocp::ILinkContext* CClient::new_context()
{
	cout<<__FUNCTION__<<endl;
	return new CClient;
}